﻿using BCCommon;
using BCDto.Common.Banner;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService.Common.Banner
{
    /// <summary>
    /// Banner服务接口
    /// </summary>
    public interface IBannerService
    {
        /// <summary>
        /// 添加Banner信息
        /// </summary>
        /// <param name="bannerRequestDto">Banner请求对象</param>
        /// <returns></returns>
        BannerDto Add(BannerRequestDto bannerRequestDto);
        /// <summary>
        /// 修改Banner信息
        /// </summary>
        /// <param name="bannerId">BannerId</param>
        /// <param name="bannerRequestDto">Banner请求对象</param>
        /// <returns></returns>
        BannerDto Update(long bannerId, BannerRequestDto bannerRequestDto);
        /// <summary>
        /// 删除Banner信息
        /// </summary>
        /// <param name="bannerId"></param>
        void Delete(long bannerId);
        /// <summary>
        /// 获取Banner列表
        /// </summary>
        /// <param name="bannerTagcode">页面模板Id</param>
        /// <returns></returns>
        IEnumerable<BannerDto> Get(string bannerTagcode);
        /// <summary>
        /// 获取Banner标记信息（分页）
        /// </summary>
        /// <param name="name">Banner名称</param>
        /// <param name="bannerTagcode">Banner标记码</param>
        /// <param name="ascending">排序</param>
        /// <param name="pageIndex">当前页码</param>
        /// <param name="pageSize">每页数据条数</param>
        /// <returns></returns>
        PageableList<BannerDto> GetPageableList(string name, string bannerTagcode, bool? ascending, int pageIndex = 1, int pageSize = 20);
        /// <summary>
        /// 获取Banner信息
        /// </summary>
        /// <param name="bannerId">BannerId</param>
        /// <returns></returns>
        BannerDto GetEntity(long bannerId);
        /// <summary>
		/// 启用Banner
		/// </summary>
		/// <param name="bannerId">BannerId</param>
		bool Enabled(long bannerId);
        /// <summary>
        /// 禁用Banner
        /// </summary>
        /// <param name="bannerId">BannerId</param>
        bool Disabled(long bannerId);
    }
}
